﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using FacturacionII.Modelo;
using FacturacionII.Interfaces;
namespace FacturacionII.Clases
{
    class clsMarca
    {
        facturacionEntities objFacturacionEntidades;

        public ArrayList CargarDatosGridView()
        {
            objFacturacionEntidades = new facturacionEntities();
            ArrayList lista = new ArrayList();

            var query = from m in objFacturacionEntidades.marcas
                        orderby m.descripcion ascending
                        select new
                        {
                            CODIGO = m.id,
                            MARCA = m.descripcion
                        };

            foreach (var datos in query)
            {
                lista.Add(datos);
            }

            return lista;
        }

        public ArrayList BuscarDatosGridView(string descripcion)
        {
            ArrayList lista = new ArrayList();
            objFacturacionEntidades = new facturacionEntities();

            var query = from m in objFacturacionEntidades.marcas
                        where m.descripcion.Contains(descripcion)
                        select new
                        {
                            CODIGO = m.id,
                            MARCA = m.descripcion
                        };
            foreach (var datos in query)
            {
                lista.Add(datos);
            }

            return lista;
        }

        public void Guardar(string descripcion, int usuario)
        {
            objFacturacionEntidades = new facturacionEntities();
            marcas marca = new marcas
            {
                descripcion = descripcion,
                id_usuario = usuario,
                fecha_registro = DateTime.Now
            };
            objFacturacionEntidades.AddTomarcas(marca);
            objFacturacionEntidades.SaveChanges();
        }

        public void GuardarCambios(int id, string descripcion, int usuario)
        {
            objFacturacionEntidades = new facturacionEntities();
            marcas marca = objFacturacionEntidades.marcas.FirstOrDefault(
                a => a.id == id);
            marca.descripcion = descripcion;
            marca.id_usuario = usuario;
            objFacturacionEntidades.SaveChanges();
        }

        public void Eliminar(int id)
        {
            objFacturacionEntidades = new facturacionEntities();
            marcas marca = objFacturacionEntidades.marcas.FirstOrDefault(
                a => a.id == id);
            objFacturacionEntidades.DeleteObject(marca);
            objFacturacionEntidades.SaveChanges();
        }

        public ArrayList CargarComboBox()
        {
            ArrayList lista = new ArrayList();
            objFacturacionEntidades = new facturacionEntities();
            var query = from m in objFacturacionEntidades.marcas
                        orderby m.descripcion
                        select new
                        {
                            CODIGO = m.id,
                            DESCRIPCION = m.descripcion,
                        };

            foreach (var datos in query)
            {
                lista.Add(datos);
            }
            return lista;
        }
    }
}
